#pragma once
#ifndef WINDOW_MANAGER_H
#define WINDOW_MANAGER_H

#include <SFML\Window.hpp>

#include "Vec.h"
#include "StatusComponent.h"

//start config
#define WINDOW_FRAMERATE	(60)

#define WINDOW_RATIO_MIN (1.f)
#define WINDOW_RATIO_MAX (4.f)

namespace gui
{
	class Host;

	class WindowComponent
	{
	public:
		WindowComponent(StatusComponent& NewStatus);

		void				Open(bool Fullscreen, std::string Name);
		void				Close();
		void				PollEvents(Host& Gui/*, ParticleEngine::Engine& Eng*/);

		void				Display();

		StatusComponent		&Status;

	private:
		void Resize(Vec<2, size_t> NewSize);
		sf::Window			SfmlWin;
	};
};

#endif